package negocio;

import java.io.IOException;
import java.net.ConnectException;

import negocio.exception.FalhaSincronizacaoDesconectadoException;
import negocio.exception.FalhaSincronizacaoException;
import fachadas.FachadaCliente;

public class SincronizacaoCliente implements Runnable {

	private FachadaCliente fachada;

	public  SincronizacaoCliente(FachadaCliente fachada) {
		this.fachada=fachada;
	}

	public void run() {
		try {
			while(true){
				try{
					while(!fachada.usuarioLogado().isSicronizacaoAutomatica() || fachada.downloadCompleto.get() ){

					}

					if(fachada.usuarioLogado().isConectado()){
						fachada.sincronizarArquivos();	
					}
				}catch(ConnectException e){
					System.out.println("Erro ao sincronizar! Tentar novamente!");
				}
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FalhaSincronizacaoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (FalhaSincronizacaoDesconectadoException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		};
	}
}
